package _03_ArrayUse;

/**
 * 交换两个变量的值
 * 
 * @author lenovo
 * @Date 2020年7月1日
 * @Time 下午9:29:34
 */
public class Array_05 {

	public static void main(String[] args) {
		/**
		 * 第一种 : 中间变量(开发常用)
		 */
		int x = 10;
		int y = 20;
		int temp = x;
		x = y;
		y = temp;
		System.out.println("x=" + x);
		System.out.println("y=" + y);

		/**
		 * 第二种 : 位移运算交换(面试常用)
		 * 
		 * 先把a和b转换为对应的二进制,然后 用 a和b的每一位二进制 进行比较,如果相等,就是0,不一样就是 1
		 */

		int a = 2;
		int b = 3;
		b = a ^ b;
		a = a ^ b;
		b = a ^ b;
		System.out.println("a=" + a);
		System.out.println("b=" + b);

		/**
		 * 3 加和运算
		 */

		int c = 10;
		int d = 20;
		c = c + d;
		d = c - d;
		c = c - d;
	}
}
